package com.cg.mapper;

import com.cg.dto.CityLinkedSalaryChartDTO;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;

@Mapper
public interface LoadChartMapper {

    /**
     * 获取城市平均工资
     * @return 存储每个城市平均工资的列表
     */
    List<HashMap<String,Object>> getCityAverageSalary();

    /**
     * 获取技能名称和该技能出现的次数
     * @return 技能名称和该技能出现的次数（字典存储）
     */
    List<HashMap<String,Object>> getSkillNameAndOccurrenceCount();

    /**
     * 学历在每个职位中的占比（学历要求分布）
     * @return 学历在每个职位中的占比（字典存储）
     */
    List<HashMap<String,Object>> getEducationLevelAndJobCount();

    /**
     * 获取每个学历的平均薪资
     * @return 存储每个学历的平均薪资的列表
     */
    List<HashMap<String,Object>> getEducationLevelAndAvgSalary();

    /**
     * 获取每个城市的每个职位需求量
     * @return 存储每个城市的每个职位需求量的列表
     */
    List<HashMap<String,Object>> getCityAndJobTitleAndJobOpenings();

    /**
     * 获取top10城市的薪资
     * @return 存储top10城市的薪资的列表
     */
    List<HashMap<String,Object>> getTop10CitySalary();

    /**
     * 获取北，上，广，深城市与经验年限
     * @return 存储北，上，广，深城市与经验年限的列表
     */
    List<CityLinkedSalaryChartDTO> getNorthSouthGuangdongShenzhenAndExperience();

    /**
     * 获取Top10公司职位占比
     */
    List<HashMap<String,Object>> getTop10Company();
}

